Appearance modeling for object re-identification using weighted brightness transfer functions

ABSTRACT

An approach for re-identifying an object in a first test image is presented. Brightness transfer functions (BTFs) between respective pairs of training images are determined. Respective similarity measures are determined between the first test image and each of the training images captured by the first camera (first training images). A weighted brightness transfer function (WBTF) is determined by combining the BTFs weighted by weights of the first training images. The weights are based on the similarity measures. The first test image is transformed by the WBTF to better match one of the training images captured by the second camera. Another test image, captured by the second camera, is identified because it is closer in appearance to the transformed test image than other test images captured by the second camera. An object in the identified test image is a re-identification of the object in the first test image.

TECHNICAL FIELD

The present invention generally relates to image processing, and morespecifically to object re-identification.

BACKGROUND

An area under surveillance often includes more than one camera to coverdifferent locations. Different cameras have different inherent levels ofbrightness and different locations have different levels ofillumination, thereby making the same object (e.g., person or vehicle)appear brighter in one image from one camera than in another image fromanother camera. Because the same object appears brighter in one imagethan another, re-identification of an object has been difficult.Re-identification refers to identifying that an object imaged by onecamera is the same as an object imaged by another camera. Knownre-identification approaches adjust for brightness from one camera tothe next camera by averaging equally weighted transfer functions or bydetermining a transfer function based on equally weighted observations.

BRIEF SUMMARY

An embodiment of the present invention is a system, method and programproduct for re-identifying an object. Brightness transfer functions(BTFs) between respective pairs of training images captured by first andsecond cameras are determined. Respective measures of similarity betweenthe first test image and each of the training images captured by thefirst camera are determined. Based on the measures of similarity,weights of the training images captured by the first camera aredetermined. The weights correspond to the BTFs. A weighted brightnesstransfer function (WBTF) is determined by weighting the BTFs by thecorresponding weights and combining the weighted BTFs. Based on theWBTF, the first test image is transformed to better match one of thetraining images captured by the second camera. Another test image,captured by the second camera, is identified. The identified test imageis closer in appearance to the transformed test image than other testimages captured by the second camera. An object in the identified testimage is designated as a re-identification of the object in the firsttest image.

Brightness transfer functions (BTFs) are determined. Each BTF mapsbetween first and second training images that are included in acorresponding pair of training images, and that are captured by firstand second cameras, respectively. Feature distances are determinedbetween the test image and each training image captured by the firstcamera. The test image is captured by the first camera and each trainingimage is included in the pairs of training images. Based on the featuredistances, the computer determines weights of the training imagescaptured by the first camera. The weights correspond to the BTFs. Aweighted brightness transfer function (WBTF) is determined by weightingthe BTFs by the corresponding weights and combining the weighted BTFs.Based on the WBTF, the computer transforms the test image so that thetransformed test image resembles the second training images captured bythe second camera. An appearance of another test image (closest matchingimage) included in test images captured by the second camera isdetermined to have a closeness to an appearance of the transformed testimage that exceeds a closeness of an appearance of any other test imagecaptured by the second camera to the appearance of the transformed testimage. An object in the closest matching image is designated as are-identification of the object in the test image.

Embodiments of the present invention uses a weighted brightness transferfunction to accurately transfer appearance information while addressingsevere lighting changes and a substantial number of appearancevariations across multiple cameras. Embodiments of the present inventionmay provide an improved tracking system for surveilling people orvehicles across multiple cameras or for tracking objects as they move inshipping scenarios from one camera to the next camera. The improvedtracking system need multiple images per person or per vehicle prior tore-identification, and does not need to be a closed system that includesa pre-stored dictionary of people or vehicles that must be identifiedprior to re-identification. Embodiments of the present invention mayprovide a traffic management system in which re-identification computestime of travel between two cameras without requiring the use of anyinvasive technology such as Bluetooth®.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of a system for re-identifying an objectacross images generated by multiple imaging devices, in accordance withembodiments of the present invention.

FIGS. 2A-2B depict a flowchart of an object re-identification programexecuted in a computer system included in the system of FIG. 1, inaccordance with embodiments of the present invention.

FIG. 3 depicts exemplary pairs of images used in a training stage of theprogram of FIGS. 2A-2B, in accordance with embodiments of the presentinvention.

FIG. 4 depicts an example of images used in a testing stage of theprogram of FIGS. 2A-2B, in accordance with embodiments of the presentinvention.

DETAILED DESCRIPTION

Overview

Embodiments of the present invention re-identifies an object acrossmultiple images generated by multiple cameras by using a WeightedBrightness Transfer Function (WBTF) to transform the appearance of atest image to adjust for a variation in the brightness of the objectbetween a first camera and a second camera. The WBTF is determined by(1) brightness transfer functions (BTFs) corresponding to pairs oftraining images from the first and second cameras; and (2) unequalweights assigned to training images from the first camera, where theweights are based on the distances in feature space between a test imageand the training images.

The aforementioned variation in brightness can be caused by manyfactors, such as the transit of the sun across the sky, the transitionfrom night to day or day to night, a change between natural lighting andartificial illumination, a change in natural lighting due to a change inweather conditions, a change to reflectivity of surfaces due toprecipitation, a change between artificial illumination being on andoff, and a change in headlights on vehicles being on and off. Inaddition, brightness variation caused by the transit of the sun canchange throughout the year as a result of the precession of the Earth'saxis relative to the sun.

Embodiments of the present invention also provide a high-dimensionalsignature of color and texture features for the purpose of imagematching.

System for Re-Identifying an Object

FIG. 1 is a block diagram of a system for re-identifying an objectacross images generated by multiple imaging devices, in accordance withembodiments of the present invention. System 100 includes a computersystem 101, which generally comprises a central processing unit (CPU)102, a memory 104, an input/output (I/O) interface 106, and a bus 108.Further, computer system 101 is coupled to I/O devices 110 and acomputer data storage unit 112. CPU 102 executes objectre-identification program 114 stored in disk storage 112 via memory 104to re-identify an object across multiple images generated by multiplecameras. Computer system 101, CPU 102, memory 104, I/O interface 106,bus 108, I/O devices 110, storage unit 112 and object-re-identificationprogram 114 are further described in the section entitled ComputerSystem presented below.

Via I/O interface 106, object re-identification program 114 receivestraining image pairs 116, each pair including one training imageacquired by a first camera (not shown) and one training image acquiredby a second camera (not shown). The training images acquired by thefirst camera are images of objects in a first region and the trainingimages acquired by the second camera are images of objects in a secondregion. The first and second regions have different lighting conditions,which causes a variation in brightness of objects in the first andsecond regions. In one embodiment, the first and second regions arefirst and second surveillance regions that represent physicalenvironments of which surveillance is desired. For example, the firstregion may be an area in a subway station and the second region mayinclude a portion of a sidewalk along a city street, where the lightingconditions of the subway station include an illumination by artificiallighting and at times may include the headlight of a subway train, andwhere the lighting conditions of the sidewalk includes natural lightingduring the day.

Based on training image pairs 116, object re-identification program 114determines brightness transfer functions (BTFs) 118, each BTFcorresponding to one of training image pairs 116.

Via I/O interface 106, object re-identification program 114 receivestest images 120, which includes multiple images captured by the firstcamera and multiple images captured by the second camera. Based on BTFs118 and based on weights (not shown) assigned to the training imagescaptured by the first camera, object re-identification program 114determines a Weighted Brightness Transfer Function (WBTF) 122. Theobject re-identification program 114 uses WBTF 122 to transform a testimage captured by the first camera so that its appearance more closelyresembles how the second camera would have captured the same test image.The object re-identification program 114 compares the transformed testimage captured by the first camera to the test images captured by thesecond camera, and determines which test image captured by the secondcamera is the closest match to the transformed test image.

Each of the first and second cameras may be a digital camera, such asstandard outdoor or indoor digital surveillance camera capable ofsurveilling a physical environment when the camera is in a fixedorientation or when operating in a sweep mode. The camera is capable oftransmitting digital information corresponding to the images captured bythe camera. The transmitted digital information may correspond to, forexample, a video stream, a series of images captured at regular timeintervals, or images captured as a result of a triggering eventoccurring in the region under surveillance, such as detected motion orchanges in a visual aspect.

The functionality of components of system 100 is further described belowin the discussion relative to FIGS. 2A-2B and in the section entitledComputer System.

Process for Re-Identifying an Object

FIGS. 2A-2B depict a flowchart of object re-identification program 114(see FIG. 1) executed in computer system 101 (see FIG. 1) included inthe system of FIG. 1, in accordance with embodiments of the presentinvention. The process of FIGS. 2A-2B starts at step 200 in FIG. 2A. Instep 202, object re-identification program 114 (see FIG. 1) receivestraining image pairs 116 (see FIG. 1). Object re-identification program114 (see FIG. 1) stores the received training image pairs 116 (seeFIG. 1) in a data repository. Each training image pair received in step202 includes a training image of an object captured by a first cameraand a training image of the same object captured by a second camera. Thelighting conditions that affect the brightness of the training imagecaptured by the first camera differ from the lighting conditions thataffect the brightness of the training image captured by the secondcamera. In one embodiment, each training image pair received in step 202includes images of a particular, corresponding person viewed from thefirst and second cameras.

In step 204, for each pair of training images included in training imagepairs 116 (see FIG. 1), object re-identification program 114 (seeFIG. 1) determines a corresponding BTF 118 (see FIG. 1) (i.e., acorresponding appearance transfer function), so that the BTF 118 (seeFIG. 1) maps the appearance of the training image captured by the firstcamera to the appearance of the training image captured by the secondcamera. In one embodiment, object re-identification program 114 (seeFIG. 1) determines a corresponding BTF 118 (see FIG. 1) in step 204 bymapping the foreground region of the training image captured by thefirst camera to the foreground region of the training image captured bythe second camera.

A training mode of the process of FIGS. 2A-2B includes steps 202 and204. The training mode does not include staging a known object movingfrom a surveillance region of one camera to another surveillance regionof another camera.

In one embodiment, object re-identification program 114 (see FIG. 1)determines a BTF H_(i) ^(j) for a training image pair in step 204 asdescribed below.

Determining a BTF for a Training Image Pair:

The object re-identification program 114 (see FIG. 1) receives a pair ofobject observations O_(i) and O_(j) in training image pairs 116 (seeFIG. 1), corresponding to the same observation from two cameras C_(i)and C_(j). The BTF H_(i) ^(j) transfers a brightness value B_(i) inO_(i) to its corresponding brightness value B_(j) in O_(j), according toequation (1) presented below.B _(j) =H _(i) ^(j)(B _(i))  (1)

Pixel to pixel correspondences between O_(i) and O_(j) cannot be used tocalculate H_(i) ^(j) for person re-identification due to self-occlusionsand viewpoint changes; therefore, object re-identification program 114(see FIG. 1) calculates H_(i) ^(j) by employing normalized cumulativehistograms of object brightness values under the assumption that thepercentage of brightness values less than or equal to B_(i) in O_(i) isequal to the percentage of brightness values less than or equal to B_(j)in O_(j). It should be noted that object observations O_(i) and O_(j)correspond only to the areas of the image that represent the object(e.g., person). The object re-identification program 114 (see FIG. 1)designates H_(i) and H_(j) as the normalized cumulative brightnesshistograms of observations O_(i) and O_(j), respectively, and determinesH_(i) and H_(j) according to equation (2):H _(i)(B _(i))=H _(j)(B _(j))=H _(j)(H _(i) ^(j)(B _(i)))  (2)

The object re-identification program 114 (see FIG. 1) determines BTFH_(i) ^(j) according to equation (3):H _(i) ^(j)(B _(i))=H _(j) ⁻¹(H _(i)(B _(i)))  (3)

H⁻¹ in equation (3) is the inverted cumulative histogram. In the case ofa color image, object re-identification program 114 (see FIG. 1)transforms each color channel separately. The object re-identificationprogram 114 (see FIG. 1) performs the aforementioned computations inequations (1), (2) and (3) for each training image pair 116 (see FIG. 1)in step 204, so that each training image pair is associated with acorresponding BTF H_(i) ^(j).

In one embodiment, object re-identification program 114 (see FIG. 1)determines a BTF in step 204 for the object that moves from thesurveillance region of one camera to the surveillance region of anothercamera. The object re-identification program 114 (see FIG. 1) determinesthe BTF for each color and each texture (i.e., fabric texture or othermaterial texture) because the brightness variation between the trainingimages is not uniform for all colors and textures. Therefore, objectre-identification program 114 (see FIG. 1) determines the BTF so thatthe brightness of one color and one texture is adjusted differently thanthe brightness of another color and another texture when attempting tocorrelate test images captured by the different cameras.

In one embodiment, object re-identification program 114 (see FIG. 1)stores in step 202 only pairs of training images in which the images ineach pair present the same view (e.g., one training image pair includestwo images that have a front view and a second training image pairincludes two images that have a side view), as determined by an overallsimilarity of the two images in each training image pair. In thisembodiment, the pairs of training images that include images thatpresent the same view are the only training image pairs used in step 204to determine the BTFs 118 (see FIG. 1).

Testing Mode:

The training mode ends with the performance of step 204, and a testingmode of the process of FIGS. 2A-2B starts at step 206. In step 206,object re-identification program 114 (see FIG. 1) receives test images120 (see FIG. 1), which includes multiple test images captured by thefirst camera and multiple test images captured by the second camera.Object re-identification program 114 (see FIG. 1) stores the receivedtest images 120 (see FIG. 1) in a data repository.

In one embodiment, object re-identification program 114 (see FIG. 1)receives and stores in step 206 N test images captured by the firstcamera and N test images captured by the second camera.

In one embodiment, object re-identification program 114 (see FIG. 1)receives test images 120 (see FIG. 1) without having knowledge of whichtest image captured by the second camera corresponds to a given testimage captured by the first camera.

As one example, for a test image T that includes Person X, where testimage T is captured by the first camera, the object re-identificationprogram 114 (see FIG. 1) receives and stores test image T while nothaving knowledge of which of the N test images captured by the secondcamera includes Person X and therefore matches test image T.

In step 208, object re-identification program 114 (see FIG. 1) selects atest image from the multiple test images captured by the first camera,and for the selected test image, object re-identification program 114(see FIG. 1) determines feature distances to all training imagescaptured by the first camera. Each feature distance is a measure ofsimilarity of appearance between the selected test image and arespective training image captured by the first camera, where thetraining image is included in training image pairs 116 (see FIG. 1). Inone embodiment, the aforementioned similarity of appearance is within apredetermined threshold limit that is received by objectre-identification program 114 (see FIG. 1) prior to step 208.

In one embodiment, object re-identification program 114 (see FIG. 1)determines a feature distance as described below.

Determining a Feature Distance:

Object re-identification program 114 (see FIG. 1) receives a test imageO_(i) ^(T) captured by camera C_(i), where test image O_(i) ^(T) isincluded in test images 120 (see FIG. 1) received in step 206. Objectre-identification program 114 (see FIG. 1) segments test image O_(i)^(T) into estimated foreground and background image regions, O_(i) ^(T)(p) and O_(i) ^(T) ({tilde over (p)}), respectively. The foregroundregion includes the object (e.g., person) being re-identified in theprocess of FIGS. 2A-2B. The background region is the portion of the testimage that does not include the object (e.g., the non-person region).

In one embodiment, object re-identification program 114 (see FIG. 1)estimates the foreground (F) and background (B) regions byover-segmenting the test image O_(i) ^(T) into S_(i) segments by usingnormalized cuts, as described in J. Shi and J Malik, Normalized cuts andimage segmentation, Institute of Electrical and Electronics Engineers(IEEE) Transactions on Pattern Analysis and Machine Intelligence, 2000.In one embodiment, object re-identification program 114 (see FIG. 1)performs the segmentation under the assumption that the object (e.g.,person) is centered in the test image, and therefore initializes theforeground model (F^(S) ^(i) ) using segments that lie in the center ofthe test image and initializes the background model by using segments atthe four corners of the test image or by using other segments that donot lie in the center of the test image. The object re-identificationprogram 114 (see FIG. 1) determines a binary label for the remainingsegments according to equations (4) and (5) presented below.

$\begin{matrix}{{\Delta = {{\left( {1 - \eta} \right)\frac{1}{E\left( {S_{i},F^{S_{i}}} \right)}} + {\eta\;\frac{1}{\rho\left( {S_{i},F^{S_{i}}} \right)}}}},{{P\left( {S_{i} = F} \right)} = {{1\mspace{14mu}{if}\mspace{14mu}\Delta} \geq \varepsilon}},{0\mspace{14mu}{otherwise}},} & (4) \\{{P\left( {S_{i} = B} \right)} = {1 - {P\left( {S_{i} = F} \right)}}} & (5)\end{matrix}$

The object re-identification program 114 (see FIG. 1) determinesE(S_(i), F^(S) ^(i) ) and ρ(S_(i), F^(S) ^(i) ) for equations (4) and(5) as the minimum Euclidean and Bhattacharyya distances, respectively,between the center of S_(i) and any of the segments that lie in theforeground model (F^(S) ^(i) ).

Following the segmentation into foreground and background regions byusing the aforementioned binary label, object re-identification program114 (see FIG. 1) determines a set D^(H) of K BTFs associated with Ktraining images O_(i)({tilde over (p)}) according to equation (6)presented below.D ^(H)={(^(k) H _(i) ^(j)|α_(k)=ψ(O_(i) ^(T)({tilde over (p)}), O_(i)({tilde over (p)})), α_(k)≦δ},|D^(H)|=K  (6)

The K training images O_(i)({tilde over (p)}) are included in trainingimage pairs 116 (see FIG. 1). As indicated in equation (6) presentedabove, the background areas of the K training images are at most δdistance away in the feature space from the background areas of the testimage O_(i) ^(T)({tilde over (p)}). In equation (6), ψ is theBhattacharyya distance between feature representations of the test imageO_(i) ^(T)({tilde over (p)}) and training image O_(i) ({tilde over(p)}). The object re-identification program 114 (see FIG. 1) receivesthe δ distance (i.e., a threshold distance) prior to step 208.

In one embodiment, the object re-identification program 114 (see FIG. 1)determines a feature representation of the test image or the trainingimage by dividing the image into m equal horizontal stripes, where m isan integer, m>1 and each horizontal stripe includes a number of rows ofpixels that is wide enough to include each major component of the objectbeing re-identified by the process of FIGS. 2A-2B. For example, m=15 fora person re-identification may be selected because each stripe in a15-stripe image is sufficiently wide to include a portion of each majorbody part (e.g., a portion of an arm from elbow to fingertips) at asubstantially large level of granularity.

For each stripe of the m stripes, object re-identification program 114(see FIG. 1) computes an n-dimensional histogram that includesRed-Green-Blue (RGB), Hue, Saturation and Value (HSV) and YCbCr colorfeatures, where n is in the range of 10 to 30 inclusive. The objectre-identification program 114 (see FIG. 1) computes a high-dimensionalHistogram of Oriented Gradients (HOG) feature histogram for each of theRGB color channels for each of the m stripes. In one embodiment, thehigh-dimensional HOG feature histogram is at least 400-dimensional. Forexample, object re-identification program 114 (see FIG. 1) computes a405-dimensional HOG feature histogram for each of the RGB color channelsfor each of the m stripes. Each image is thus represented using a12-channel high dimensional feature vector because each of RGB, HSV,YCbCr and HOG provides three channels, where each channel is obtained byconcatenating features across all of the m stripes.

In an alternate embodiment, object re-identification program 114 (seeFIG. 1) computes an n-dimensional histogram that includes a subset ofRGB, HSV, YCbCr and HOG, so that each image is represented by featurevector based on another number of channels. For example, if objectre-identification program 114 (see FIG. 1) computes the n-dimensionalhistogram that includes only RGB, YCbCr and HOG, then each image isrepresented using a 9-channel feature vector because each of the threefeature representations RGB, YCbCr and HOG provides three channels.

In step 210, object re-identification program 114 (see FIG. 1) sorts thetraining images captured by the first camera according to the featuredistances determined in step 208. The training images sorted in step 210are included in training image pairs 116 (see FIG. 1).

In one embodiment, object re-identification program 114 (see FIG. 1)sorts the training images in step 210 based on ψ in equation (6)presented above, which is the Bhattacharyya distance between the featurerepresentations of the test image O_(i) ^(T) ({tilde over (p)}) andtraining image O_(i) ({tilde over (p)}), as described above, and furtherbased on α_(k), which is a matching cost.

In step 212, object re-identification program 114 (see FIG. 1)determines weights of the training images sorted in step 210, so theweights are based on corresponding feature distances of the trainingimages determined in step 208. Because each training image sorted instep 210 has a corresponding BTF determined in step 204, the weightsdetermined in step 212 are associated with the BTFs 118 (see FIG. 1) ina one-to-one correspondence. In one embodiment, the weights determinedin step 212 are inversely proportional to the corresponding featuredistances determined in step 208, thereby assigning lower weights toless relevant training images that do not closely resemble the testimage and assigning higher weights to more relevant training images thatclosely resemble the test image.

In one embodiment, object re-identification program 114 (see FIG. 1)determines the weights in step 212 based on the Bhattacharyya distancebetween the feature representations of the test image O_(i) ^(T) ({tildeover (p)}) and training image O_(i) ({tilde over (p)}).

In step 214, based on the weights determined in step 212 and based onthe BTFs 118 (see FIG. 1) determined in step 204, objectre-identification program 114 (see FIG. 1) determines WBTF 122 (seeFIG. 1) by determining a weighted average of the BTFs 118 (see FIG. 1).That is, object re-identification program 114 (see FIG. 1) determinesWBTF 122 (see FIG. 1) by combining the BTFs 118 (see FIG. 1), where eachBTF being combined is weighted by the corresponding weight determined instep 212.

In the embodiment in which object re-identification program 114 (seeFIG. 1) utilizes equation (6) to perform steps 208, 210 and 212, objectre-identification program 114 (see FIG. 1) determines WBTF 122 (seeFIG. 1) by defining a linear combination of all the BTFs in D^(H), asshown in equation (7) presented below.H_(WBTF)=Σ_(k=1) ^(K)α_(k) ^(k)H_(i) ^(j)  (7)

By determining H_(WBTF), object re-identification program 114 (seeFIG. 1) assigns more weight to the BTF of those training images that arecloser in appearance to the test image, instead of assigning equalweight to all the BTFs.

Step 216 in FIG. 2B is performed after step 214.

In step 216, based on the WBTF 122 (see FIG. 1) determined in step 214,object re-identification program 114 (see FIG. 1) transforms theappearance of the selected test image (i.e., the test image selected inthe most recent performance of step 208) so that the appearance of theselected test image is changed to resemble how the selected test imagewould have appeared in a capture by the second camera. That is, objectre-identification program 114 (see FIG. 1) transforms the selected testimage so that the brightness of the transformed test image matches thebrightness of images captured by the second camera.

In step 218, object re-identification program 114 (see FIG. 1) comparesthe test image transformed in step 216 to each test image captured bythe second camera, which are included in test images 120 (see FIG. 1).

In one embodiment, object re-identification program 114 (see FIG. 1) instep 218 compares the foreground and background of the test imagetransformed in step 216 to the foreground and background, respectively,of each test image captured by the second camera.

In step 220, based on the comparisons made in step 218, objectre-identification program 114 (see FIG. 1) determines the image (alsoknown as (a.k.a.) closest matching image) among the test images capturedby the second camera that most closely matches the selected test image.

In step 222, object re-identification program 114 (see FIG. 1)designates the closest matching image as the image corresponding to thetest image that had been transformed in step 216 (i.e., designates theclosest matching image as including the same object that is included inthe test image that had been transformed in step 216).

In one embodiment, object re-identification program 114 (see FIG. 1)utilizes equation (7) to map illumination from camera C_(i) to cameraC_(j) to transform the test image in step 216 to obtain transformed testimage Õ_(i) ^(T). The object re-identification program 114 (see FIG. 1)subsequently defines the rank-1 re-identification problem as expression(8) presented below:

$\begin{matrix}{{\arg\;\begin{matrix}\min \\j\end{matrix}\eta\;{\psi\left( {{{\overset{\sim}{O}}_{i}^{T}(p)},{O_{j}^{T}(p)}} \right)}} + {\psi\left( {{{\overset{\sim}{O}}_{i}^{T}\left( \overset{\sim}{p} \right)},{{\overset{\sim}{O}}_{j}^{T}\left( \overset{\sim}{p} \right)}} \right)}} & (8)\end{matrix}$

The two terms ψ(Õ_(i) ^(T)(p), O_(j) ^(T)(p)) and ψ(Õ_(i) ^(T)({tildeover (p)}), Õ_(j) ^(T)({tilde over (p)})) in expression (8) representthe matching cost for foreground and background, respectively, of thetransformed test image Õ_(i) ^(T) against all the test images O_(j)^(T), j={1, . . . , N}. In one embodiment, the object re-identificationprogram 114 (see FIG. 1) uses expression (8) to determine the closestmatching image in step 220.

The values of η and K in expression (8) and equation (7) may bedetermined empirically. As one example, η=3 and K=5.

In step 224, object re-identification program 114 (see FIG. 1)determines whether there is another test image in test images 120 (seeFIG. 1) that is captured by the first camera and that has not yet beenselected in step 208 (see FIG. 2A) (i.e., whether there is another testimage to process). If object re-identification program 114 (see FIG. 1)determines in step 224 that there is another test image to process, thenthe Yes branch of step 224 is taken and the process of FIGS. 2A-2B loopsback to step 208 (see FIG. 2A), which selects another test image forprocessing.

If object re-identification program 114 (see FIG. 1) determines in step224 that there is not another test image to process, then the No branchof step 224 is taken and the process of FIGS. 2A-2B ends at step 226.

EXAMPLES

FIG. 3 depicts exemplary pairs of images used in a training stage of theprogram of FIGS. 2A-2B, in accordance with embodiments of the presentinvention. M training image pairs 302-1, 302-2, . . . , 302-M areexamples of the training image pairs received in step 202 (see FIG. 2A).The M training image pairs include M training images 304 captured by afirst camera and M training images 306 captured by a second camera. Asshown in the training image pairs 302-1, 302-2, . . . , 302-M, thepeople in training images 304 appear brighter than the people intraining images 306. As one example, a BTF determined in step 204 (seeFIG. 2A) and corresponding to training image pair 302-1 maps the morebright image captured by the first camera (i.e., the left image in thetraining image pair 302-1) to the less bright image captured by thesecond camera (i.e., the right image in the training image pair 302-1).

FIG. 4 depicts an example of images used in a testing stage of theprogram of FIGS. 2A-2B, in accordance with embodiments of the presentinvention. In step (1), object re-identification program 114 (seeFIG. 1) transforms an exemplary test image 402 captured by a firstcamera by using the WBTF 122 (see FIG. 1), which results in atransformed test image 404. In step (2), object re-identificationprogram 114 (see FIG. 1) compares transformed test image 404 to testimages 406, 408, 410, . . . captured by the second camera. In step (3),based on the comparisons performed in step (2), object re-identificationprogram 114 (see FIG. 1) determines that the closest match totransformed test image 404 is test image 408. Steps (1), (2) and (3) maybe included in steps 216, 218 and 220, respectively, in FIG. 2B.

Computer System

In one embodiment, computer system 101 in FIG. 1 implements the processof FIGS. 2A-2B. Computer system 101 generally comprises a centralprocessing unit (CPU) 102, a memory 104, an input/output (I/O) interface106, and a bus 108. Further, computer system 101 is coupled to I/Odevices 110 and a computer data storage unit 112. CPU 102 performscomputation and control functions of computer system 101, includingexecuting instructions included in object re-identification 114 (a.k.a.program code 114) to perform a method of re-identifying an object acrossimages captured by multiple cameras, where the instructions are executedby CPU 102 via memory 104. In one embodiment, the CPU 102 executesinstructions included in program code 114 to perform a method ofre-identifying an object across images captured by multiple cameras. CPU102 may comprise a single processing unit, or be distributed across oneor more processing units in one or more locations (e.g., on a client andserver).

Memory 104 may comprise any known computer-readable storage medium,which is described below. In one embodiment, cache memory elements ofmemory 104 provide temporary storage of at least some program code(e.g., program code 114) in order to reduce the number of times codemust be retrieved from bulk storage while instructions of the programcode are carried out. Moreover, similar to CPU 102, memory 104 mayreside at a single physical location, comprising one or more types ofdata storage, or be distributed across a plurality of physical systemsin various forms. Further, memory 104 can include data distributedacross, for example, a local area network (LAN) or a wide area network(WAN).

I/O interface 106 comprises any system for exchanging information to orfrom an external source. I/O devices 110 comprise any known type ofexternal device, including a display device (e.g., monitor), keyboard,mouse, printer, speakers, handheld device, facsimile, etc. Bus 108provides a communication link between each of the components in computersystem 101, and may comprise any type of transmission link, includingelectrical, optical, wireless, etc.

I/O interface 106 also allows computer system 101 to store information(e.g., data or program instructions such as program code 114) on andretrieve the information from computer data storage unit 112 or anothercomputer data storage unit (not shown). Computer data storage unit 112may comprise any known computer-readable storage medium, which isdescribed below. For example, computer data storage unit 112 may be anon-volatile data storage device, such as a magnetic disk drive (i.e.,hard disk drive) or an optical disc drive (e.g., a CD-ROM drive whichreceives a CD-ROM disk).

Memory 104 and/or storage unit 112 may store computer program code 114that includes instructions that are executed by CPU 102 via memory 104to re-identify an object across images captured by multiple cameras. Inone embodiment, memory 104 and/or storage unit 112 stores program code114 that includes instructions that are executed by CPU 102 via memory104 to re-identify an object across images captured by multiple cameras.Although FIG. 1 depicts memory 104 as including program code 114, thepresent invention contemplates embodiments in which memory 104 does notinclude all of code 114 simultaneously, but instead at one time includesonly a portion of code 114.

Further, memory 104 may include other systems not shown in FIG. 1, suchas an operating system (e.g., Linux®) that runs on CPU 102 and providescontrol of various components within and/or connected to computer system101.

Storage unit 112 and/or one or more other computer data storage units(not shown) that are coupled to computer system 101 may store trainingimage pairs 116, BTFs 118, test images 120, the weights determined instep 212 (see FIG. 2A), the transformed test image created in step 216(see FIG. 2B), and/or WBTF 122.

As will be appreciated by one skilled in the art, the present inventionmay be embodied as a system, method or computer program product.Accordingly, an aspect of an embodiment of the present invention maytake the form of an entirely hardware aspect, an entirely softwareaspect (including firmware, resident software, micro-code, etc.) or anaspect combining software and hardware aspects that may all generally bereferred to herein as a “module”. Furthermore, an embodiment of thepresent invention may take the form of a computer program productembodied in one or more computer-readable storage medium(s) (e.g.,memory 104 and/or computer data storage unit 112) havingcomputer-readable program code (e.g., program code 114) embodied orstored thereon.

Any combination of one or more computer-readable storage mediums (e.g.,memory 104 and computer data storage unit 112) may be utilized. In oneembodiment, the computer-readable storage medium is a computer-readablestorage device or computer-readable storage apparatus. Acomputer-readable storage medium may be, for example, an electronic,magnetic, optical, electromagnetic, disk storage, or semiconductorsystem, apparatus, device or any suitable combination of the foregoing.A non-exhaustive list of more specific examples of the computer-readablestorage medium includes: a portable computer diskette, a hard disk, arandom access memory (RAM), a read-only memory (ROM), an erasableprogrammable read-only memory (EPROM or Flash memory), a portablecompact disc read-only memory (CD-ROM), an optical storage device, amagnetic storage device, or any suitable combination of the foregoing.In the context of this document, a computer-readable storage medium is atangible medium that can store a program (e.g., program 114) for use byor in connection with a system, apparatus, or device for carrying outinstructions. However, the terms “computer-readable storage medium” and“computer-readable storage device” do not encompass a propagationmedium.

Program code (e.g., program code 114) may be transmitted using anyappropriate medium, including but not limited to wireless, wireline,optical fiber cable, radio frequency (RF), etc., or any suitablecombination of the foregoing.

Computer program code (e.g., program code 114) for carrying outoperations for aspects of the present invention may be written in anycombination of one or more programming languages, including an objectoriented programming language such as Java®, Smalltalk, C++ or the likeand conventional procedural programming languages, such as the “C”programming language or similar programming languages. Java and allJava-based trademarks and logos are trademarks or registered trademarksof Oracle and/or its affiliates. Instructions of the program code may becarried out entirely on a user's computer, partly on the user'scomputer, as a stand-alone software package, partly on the user'scomputer and partly on a remote computer or entirely on the remotecomputer or server, where the aforementioned user's computer, remotecomputer and server may be, for example, computer system 101 or anothercomputer system (not shown) having components analogous to thecomponents of computer system 101 included in FIG. 1. In the latterscenario, the remote computer may be connected to the user's computerthrough any type of network (not shown), including a LAN or a WAN, orthe connection may be made to an external computer (e.g., through theInternet using an Internet Service Provider).

Aspects of the present invention are described herein with reference toa flowchart illustration (e.g., FIGS. 2A-2B) and/or block diagrams ofmethods, apparatus (systems) (e.g., FIG. 1), and computer programproducts according to embodiments of the invention. It will beunderstood that each block of the flowchart illustrations and/or blockdiagrams, and combinations of blocks in the flowchart illustrationsand/or block diagrams, can be implemented by computer programinstructions (e.g., program code 114). These computer programinstructions may be provided to one or more hardware processors (e.g.,CPU 102) of a general purpose computer, special purpose computer, orother programmable data processing apparatus to produce a machine, suchthat the instructions, which are carried out via the processor(s) of thecomputer or other programmable data processing apparatus, create meansfor implementing the functions/acts specified in the flowchart and/orblock diagram block or blocks.

These computer program instructions may also be stored in acomputer-readable medium (e.g., memory 104 or computer data storage unit112) that can direct a computer (e.g., computer system 101), otherprogrammable data processing apparatus, or other devices to function ina particular manner, such that the instructions (e.g., instructionsincluded in program code 114) stored in the computer-readable storagemedium produce an article of manufacture including instructions whichimplement the function/act specified in the flowchart and/or blockdiagram block or blocks.

The computer program instructions may also be loaded onto a computer(e.g., computer system 101), other programmable data processingapparatus, or other devices to cause a series of operational steps to beperformed on the computer, other programmable apparatus, or otherdevices to produce a computer implemented process such that theinstructions (e.g., instructions included in program code 114) which arecarried out on the computer, other programmable apparatus, or otherdevices provide processes for implementing the functions/acts specifiedin the flowchart and/or block diagram block or blocks.

The flowchart in FIGS. 2A-2B and the block diagram in FIG. 1 illustratethe architecture, functionality, and operation of possibleimplementations of systems, methods, and computer program productsaccording to various embodiments of the present invention. In thisregard, each block in the flowchart or block diagrams may represent amodule, segment, or portion of code (e.g., program code 114), whichcomprises one or more executable instructions for implementing thespecified logical function(s). It should also be noted that, in somealternative implementations, the functions noted in the block may occurout of the order noted in the figures. For example, two blocks shown insuccession may, in fact, be performed substantially concurrently, or theblocks may sometimes be performed in reverse order, depending upon thefunctionality involved. It will also be noted that each block of theblock diagrams and/or flowchart illustrations, and combinations ofblocks in the block diagrams and/or flowchart illustrations, can beimplemented by special purpose hardware-based systems that perform thespecified functions or acts, or combinations of special purpose hardwareand computer instructions.

While embodiments of the present invention have been described hereinfor purposes of illustration, many modifications and changes will becomeapparent to those skilled in the art. Accordingly, the appended claimsare intended to encompass all such modifications and changes as fallwithin the true spirit and scope of this invention.

What is claimed is:
 1. A method of re-identifying a first object in afirst test image, the method comprising the steps of: during a trainingmode, a computer receiving pairs of training images, each pair havingcorresponding first and second training images, each first trainingimage in the pairs being captured by a first camera during the trainingmode, including an object O_(i), and having a first lighting condition,and each second training image in the pairs being captured by a secondcamera during the training mode, including an object O_(j), and having asecond lighting condition; during the training mode, the computerdetermining H_(i)(B_(i)), which is a first normalized cumulativehistogram of brightness values in the object O_(i), and determiningH_(j)(B_(j)), which is a second normalized cumulative histogram ofbrightness values in the object O_(j), so that H_(i)(B_(i))=H_(j)(B_(j)), so that a percentage of brightness values less than orequal to a brightness value B_(i) in the object O_(i) is equal to thepercentage of brightness values less than or equal to a brightness valueB_(j) in the object O_(j); during the training mode, the computerdetermining brightness transfer functions (BTFs) H_(i) ^(j) bydetermining H_(j) ⁻¹(H_(i)(B_(i))), which is an inverted cumulativehistogram, so that B_(j)=H_(i) ^(j) (B_(i))which transfers thebrightness value B_(i) in the object O_(i) to the correspondingbrightness value B_(j) in the object O_(j); during a testing modesubsequent to a completion of the training mode, the computer receivingthe first test image and subsequently determining respective measures ofsimilarity between the first test image and each of the first trainingimages captured by the first camera by (i) estimating a foregroundregion and a background region of the first test image by segmenting thefirst test image into segments by using normalized cuts on the firsttest image in which the first object is centered, the foreground regionbeing initialized using first segments that lie in a center of the firsttest image and the background region being initialized using secondsegments that do not lie in the center of the first test image and (ii)determining Bhattacharyya distances between feature representations ofthe estimated background region of the first test image and respectivefeature representations of background regions of the first trainingimages, the first test image being captured by the first camera duringthe testing mode; based on the Bhattacharyya distances, the computerdetermining weights of the first training images captured by the firstcamera, the weights corresponding to the BTFs; based on theBhattacharyya distances, the computer determining a weighted brightnesstransfer function (WBTF) by weighting the BTFs by the correspondingweights and combining the weighted BTFs; based on the Bhattacharyyadistances and the WBTF and subsequent to the first test image beingcaptured by the first camera, the computer transforming the first testimage which results in a transformed first test image having abrightness that (1) is different from a brightness of the first testimage captured by the first camera and (2) matches a brightness of thetraining images captured by the second camera, so that an appearance ofthe transformed first test image resembles an appearance of a capture ofthe first test image by the second camera, the transformed first testimage including the first object which is in the first test image whichwas captured by the first camera; the computer performing comparisonsbetween the transformed first test image and each of test imagescaptured by the second camera; based on the comparisons between thetransformed first test image and each of the test images captured by thesecond camera, the computer identifying one of the test images capturedby the second camera that is closer in appearance to the transformedfirst test image than other test images captured by the second camera;and the computer designating a second object in the identified testimage as a re-identification of the first object in the first testimage.
 2. The method of claim 1, further comprising the steps of: thecomputer segmenting the first test image into the foreground region anda first background region, the foreground region including the firstobject in the first test image captured by the first camera and thefirst background region not including the first object in the first testimage; the computer determining respective second background regions ofthe first training images captured by the first camera; the computerdetermining first feature representations in the first background regionof the first test image; and the computer determining respective secondfeature representations in the second background regions, wherein thestep of determining the measures of similarity includes determiningrespective measures of similarity between the first featurerepresentations in the background region of the first test image andeach of the second feature representations.
 3. The method of claim 2,wherein the step of determining the measures of similarity between thefirst feature representations and each of the second featurerepresentations includes: determining respective measures of similaritybetween histograms of Red-Green-Blue (RGB), Hue, Saturation and Value(HSV) and YCbCr color features included in the first background regionand respective histograms of RGB, HSV and YCbCr color features includedin each of the second background regions; and determining respectivemeasures of similarity between a Histogram of Oriented Gradients (HOG)describing texture features included in the first background region andrespective HOGs describing texture features included in each of thesecond background regions.
 4. The method of claim 2, wherein the step ofdetermining the measures of similarity between the first featurerepresentations and each of the second feature representations includesdetermining measures of similarity between a first proper subset offirst histograms and a second proper subset of second histograms, thefirst proper subset of first histograms including a proper subset ofhistograms of RGB, HSV and YCbCr color features and a HOG describingtexture features included in the first background region, and the secondproper subset of second histograms including a proper subset ofhistograms of RGB, HSV and YCbCr color features and a HOG describingtexture features included in a second background region of a trainingimage captured by the first camera.
 5. The method of claim 1, whereinthe step of determining the weights includes determining the weights asinversely proportional to the Bhattacharyya distances.
 6. The method ofclaim 1, further comprising the steps of: the computer receiving athreshold distance; the computer receiving K training images captured bythe first camera; the computer determining a first background region ofthe first test image; the computer determining respective secondbackground regions of each of the K training images captured by thefirst camera; the computer determining first feature representations inthe first background region of the first test image; and the computerdetermining respective second feature representations in each of thesecond background regions, wherein the step of determining the measuresof similarity includes determining K respective Bhattacharyya distancesbetween the first feature representations in the first background regionof the first test image and each of the second feature representations,wherein the step of determining the BTFs is performed after the step ofdetermining the K Bhattacharyya distances and includes selecting K BTFsfrom a plurality of BTFs, so that the K BTFs correspond to the KBhattacharyya distances and so that each of the K Bhattacharyyadistances is less than or equal to the threshold distance, wherein thestep of determining the weights includes determining a matching costα_(k) corresponding to each of the K BTFs, wherein k=1, . . . , K, andwherein the step of determining the WBTF includes weighting each BTF ofthe K BTFs by the corresponding α_(k) and determining a linearcombination of the weighted K BTFs.
 7. A computer system forre-identifying a first object in a first test image, the computer systemcomprising: a CPU; a computer-readable memory; a computer-readable,tangible storage device; first program instructions to receive, during atraining mode, pairs of training images, each pair having correspondingfirst and second training images, each first training image in the pairsbeing captured by a first camera during the training mode, including anobject O_(i), and having a first lighting condition, and each secondtraining image in the pairs being captured by a second camera during thetraining mode, including an object O_(j), and having a second lightingcondition; second program instructions to determine, during the trainingmode, H_(i)(B_(i)), which is a first normalized cumulative histogram ofbrightness values in the object O_(i), and determine H_(j)(B_(j)), whichis a second normalized cumulative histogram of brightness values in theobject O_(j), so that H_(i)(B_(i))=H_(j)(B_(j)), so that a percentage ofbrightness values less than or equal to a brightness value B_(i) in theobject O_(i) is equal to the percentage of brightness values less thanor equal to a brightness value B_(j) in the object O_(j); third programinstructions to determine, during the training mode, brightness transferfunctions (BTFs) H_(i) ^(j) by determining H_(j) ⁻¹(H_(i)(B_(i))), whichis an inverted cumulative histogram, so that B_(j)=H_(i) ^(j (B) _(i)),which transfers the brightness value B_(i) in the object O_(i) to thecorresponding brightness value B_(j) in the object O_(j); fourth programinstructions to receive and subsequently determine, during a testingmode subsequent to a completion of the training mode, respectivemeasures of similarity between the first test image and each of thefirst training images captured by the first camera by (i) estimating aforeground region and a background region of the first test image bysegmenting the first test image into segments by using normalized cutson the first test image in which the first object is centered, theforeground region being initialized using first segments that lie in acenter of the first test image and the background region beinginitialized using second segments that do not lie in the center of thefirst test image and (ii) determining Bhattacharyya distances betweenfeature representations of the estimated background region of the firsttest image and respective feature representations of background regionsof the first training images, the first test image being captured by thefirst camera during the testing mode; fifth program instructions to,based on the Bhattacharyya distances, determine weights of the firsttraining images captured by the first camera, the weights correspondingto the BTFs; sixth program instructions to, based on the Bhattacharyyadistances, determine a weighted brightness transfer function (WBTF) byweighting the BTFs by the corresponding weights and combining theweighted BTFs; seventh program instructions to, based on theBhattacharyya distances and the WBTF and subsequent to the first testimage being captured by the first camera, transform the first test imagewhich results in a transformed first test image having a brightness that(1) is different from a brightness of the first test image captured bythe first camera and (2) matches a brightness of the training imagescaptured by the second camera, so that an appearance of the transformedfirst test image resembles an appearance of a capture of the first testimage by the second camera, the transformed first test image includingthe first object which is in the first test image which was captured bythe first camera; eighth program instructions to perform comparisonsbetween the transformed first test image and each of test imagescaptured by the second camera; ninth program instructions to, based onthe comparisons between the transformed first test image and each of thetest images captured by the second camera, identify one of the testimages captured by the second camera that is closer in appearance to thetransformed first test image than other test images captured by thesecond camera; and tenth program instructions to designate a secondobject in the identified test image as a re-identification of the firstobject in the first test image, wherein the first, second, third,fourth, fifth, sixth, seventh, eighth, ninth, and tenth programinstructions are stored on the computer-readable, tangible storagedevice for execution by the CPU via the computer-readable memory.
 8. Thecomputer system of claim 7, further comprising: eleventh programinstructions to segment the first test image into the foreground regionand a first background region, the foreground region including the firstobject in the first test image captured by the first camera and thefirst background region not including the first object in the first testimage; twelfth program instructions to determine respective secondbackground regions of the training images captured by the first camera;thirteenth program instructions to determine first featurerepresentations in the first background region of the first test image;and fourteenth program instructions to determine respective secondfeature representations in the second background regions, wherein thefourth program instructions include fifteenth program instructions todetermine respective measures of similarity between the first featurerepresentations in the background region of the first test image andeach of the second feature representations, and wherein the eleventh,twelfth, thirteenth, fourteenth, and fifteenth program instructions arestored on the computer-readable, tangible storage device for executionby the CPU via the computer-readable memory.
 9. The computer system ofclaim 8, wherein the fifteenth program instructions to determine themeasures of similarity between the first feature representations andeach of the second feature representations include: sixteenth programinstructions to determine respective measures of similarity betweenhistograms of RGB, HSV and YCbCr color features included in the firstbackground region and respective histograms of RGB, HSV and YCbCr colorfeatures included in each of the second background regions; andseventeenth program instructions to determine respective measures ofsimilarity between a HOG describing texture features included in thefirst background region and respective HOGs describing texture featuresincluded in each of the second background regions, wherein the sixteenthand seventeenth program instructions are stored on thecomputer-readable, tangible storage device for execution by the CPU viathe computer-readable memory.
 10. The computer system of claim 8,wherein the fifteenth program instructions to determine the measures ofsimilarity between the first feature representations and each of thesecond feature representations include sixteenth program instructions todetermine measures of similarity between a first proper subset of firsthistograms and a second proper subset of second histograms, the firstproper subset of first histograms including a proper subset ofhistograms of RGB, HSV and YCbCr color features and a HOG describingtexture features included in the first background region, and the secondproper subset of second histograms including a proper subset ofhistograms of RGB, HSV and YCbCr color features and a HOG describingtexture features included in a second background region of a trainingimage captured by the first camera, wherein the sixteenth programinstructions are stored on the computer-readable, tangible storagedevice for execution by the CPU via the computer-readable memory. 11.The computer system of claim 7, wherein the fifth program instructionsto determine the weights include eleventh program instructions todetermine the weights as inversely proportional to the Bhattacharyyadistances, and wherein the eleventh program instructions are stored onthe computer-readable, tangible storage device for execution by the CPUvia the computer-readable memory.
 12. A computer program product forre-identifying a first an object in a first test image, the computerprogram product-comprising: computer-readable storage device(s) whichare not signals or propagation media; and computer-readable programinstructions stored on the computer-readable storage device(s), thecomputer-readable program instructions when executed by a CPU: receive,during a training mode, pairs of training images, each pair havingcorresponding first and second training images, each first trainingimage in the pairs being captured by a first camera during the trainingmode, including an object O_(i), and having a first lighting condition,and each second training image in the pairs being captured by a secondcamera during the training mode, including an object O_(j), and having asecond lighting condition; determine, during the training mode,H_(i),(B_(i)), which is a first normalized cumulative histogram ofbrightness values in the object O_(i), and determine H_(j)(B_(j)), whichis a second normalized cumulative histogram of brightness values in theobject O_(j), so that H_(i)(B_(i))=H_(j)(B_(j)), so that a percentage ofbrightness values less than or equal to a brightness value B_(i) in theobject O_(i) is equal to the percentage of brightness values less thanor equal to a brightness value B_(j) in the object O_(j); determine,during the training mode, brightness transfer functions (BTFs) H_(i)^(j) by determining H_(j) ⁻¹(H_(i)(B_(i))), which is an invertedcumulative histogram, so that B_(j)=H_(i) ^(j)(B_(i)) which transfersthe brightness value B_(i) in the object O_(i) to the correspondingbrightness value B_(j) in the object O_(j); receive the first test imageand subsequently determine, during a testing mode subsequent to acompletion of the training mode, respective measures of similaritybetween the first test image and each of the first training imagescaptured by the first camera by (i) estimating a foreground region and abackground region of the first test image by segmenting the first testimage into segments by using normalized cuts on the first test image inwhich the first object is centered, the foreground region beinginitialized using first segments that lie in a center of the first testimage and the background region being initialized using second segmentsthat do not lie in the center of the first test image and (ii)determining Bhattacharyya distances between feature representations ofthe estimated background region of the first test image and respectivefeature representations of background regions of the first trainingimages, the first test image being captured by the first camera duringthe testing mode; based on the Bhattacharyya distances, determineweights of the first training images captured by the first camera, theweights corresponding to the BTFs; based on the Bhattacharyya distances,determine a weighted brightness transfer function (WBTF) by weightingthe BTFs by the corresponding weights and combining the weighted BTFs;based on the Bhattacharyya distances and the WBTF and subsequent to thefirst test image being captured by the first camera, transform the firsttest image which results in a transformed first test image having abrightness that (1) is different from a brightness of the first testimage captured by the first camera and (2) matches a brightness of thetraining images captured by the second camera, so that an appearance ofthe transformed first test image resembles an appearance of a capture ofthe first test image by the second camera, the transformed first testimage including the first object which is in the first test image whichwas captured by the first camera; perform comparisons between thetransformed first test image and each of test images captured by thesecond camera; based on the comparisons between the transformed firsttest image and each of the test images captured by the second camera,identify one of the test images captured by the second camera that iscloser in appearance to the transformed first test image than other testimages captured by the second camera; and designate a second object inthe identified test image as a re-identification of the first object inthe first test image.
 13. The program product of claim 12, wherein thecomputer-readable program instructions, when executed by the CPU:segment the first test image into the foreground region and a firstbackground region, the foreground region including the first object inthe first test image captured by the first camera and the firstbackground region not including the first object in the first testimage; determine respective second background regions of the trainingimages captured by the first camera; determine first featurerepresentations in the first background region of the first test image;and determine respective second feature representations in the secondbackground regions, wherein the computer-readable program instructionsthat determine the measures of similarity include computer-readableprogram instructions that, when executed by the CPU, determinerespective measures of similarity between the first featurerepresentations in the background region of the first test image andeach of the second feature representations.
 14. The program product ofclaim 13, wherein the computer-readable program instructions thatdetermine the measures of similarity between the first featurerepresentations and each of the second feature representations include:computer-readable program instructions, when executed by the CPU,determine respective measures of similarity between histograms of RGB,HSV and YCbCr color features included in the first background region andrespective histograms of RGB, HSV and YCbCr color features included ineach of the second background regions; and computer-readable programinstructions, when executed by the CPU, determine respective measures ofsimilarity between a HOG describing texture features included in thefirst background region and respective HOGs describing texture featuresincluded in each of the second background regions.
 15. The programproduct of claim 13, wherein the computer-readable program instructionsthat determine the measures of similarity between the first featurerepresentations and each of the second feature representations includecomputer-readable program instructions that, when executed by the CPU,determine measures of similarity between a first proper subset of firsthistograms and a second proper subset of second histograms, the firstproper subset of first histograms including a proper subset ofhistograms of RGB, HSV and YCbCr color features and a HOG describingtexture features included in the first background region, and the secondproper subset of second histograms including a proper subset ofhistograms of RGB, HSV and YCbCr color features and a HOG describingtexture features included in a second background region of a trainingimage captured by the first camera.
 16. The program product of claim 12,wherein the computer-readable program instructions that determine theweights include computer-readable program instructions that, whenexecuted by the CPU, determine the weights as inversely proportional tothe Bhattacharyya distances.
 17. The program product of claim 12,wherein the computer-readable program instructions, when executed by theCPU, receive a threshold distance; receive K training images captured bythe first camera; determine a first background region of the first testimage; determine respective second background region of each of the Ktraining images captured by the first camera; determine first featurerepresentations in the first background region of the first test image;and determine respective second feature representations in each of thesecond background regions, wherein the computer-readable programinstructions that determine the measures of similarity includecomputer-readable program instructions that, when executed by the CPU,determine K respective Bhattacharyya distances between the first featurerepresentations in the first background region of the first test imageand each of the second feature representations, wherein thecomputer-readable program instructions that determine the BTFs areperformed after the computer-readable program instructions are executedby the CPU to determine the K Bhattacharyya distances and includecomputer-readable program instructions that, when executed by the CPU,select K BTFs from a plurality of BTFs, so that the K BTFs correspond tothe K Bhattacharyya distances and so that each of the K Bhattacharyyadistances is less than or equal to the threshold distance, wherein thecomputer-readable program instructions that determine the weightsinclude computer-readable program instructions that, when executed bythe CPU, determine a matching cost α_(k) corresponding to each of the KBTFs, wherein k=1, . . . , K, and wherein the computer-readable programinstructions that determine the WBTF include computer-readable programinstructions that, when executed by the CPU, weight each BTF of the KBTFs by the corresponding α_(k) and determine a linear combination ofthe weighted K BTFs.
 18. The computer system of claim 7, furthercomprising: eleventh program instructions to receive a thresholddistance; twelfth program instructions to receive K training imagescaptured by the first camera; thirteenth program instructions todetermine a first background region of the first test image; fourteenthprogram instructions to determine respective second background regionsof each of the K training images captured by the first camera; fifteenthprogram instructions to determine first feature representations in thefirst background region of the first test image; and sixteenth programinstructions to determine respective second feature representations ineach of the second background regions, wherein an execution of thefourth program instructions determines K respective Bhattacharyyadistances between the first feature representations in the firstbackground region of the first test image and each of the second featurerepresentations, wherein an execution of the third program instructionsselects K BTFs from a plurality of BTFs, so that the K BTFs correspondto the K Bhattacharyya distances and so that each of the K Bhattacharyyadistances is less than or equal to the threshold distance, wherein anexecution of the fifth program instructions determines a matching costα_(k) corresponding to each of the K BTFs, wherein k=1, . . . , K,wherein an execution of the sixth program instructions weights each BTFof the K BTFs by the corresponding α_(k) and determines a linearcombination of the weighted K BTFs, and wherein the eleventh, twelfth,thirteenth, fourteenth, fifteenth, and sixteenth program instructionsare stored on the computer-readable, tangible storage device forexecution by the CPU via the computer-readable memory.